System and method for controlling a display of data

ABSTRACT

A system and method for displaying a scroll-bar or toggle-button-set to control a display of data of an individual column and/or row. A table of intersecting columns and rows is displayed, each intersection forming a cell, and a scroll-bar or toggle-button-set is displayed for an individual column and/or row if a cell of the column and/or row contains data, the display settings of the data requiring for a display of the data an area that is larger than an area allotted to the cell.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.10/850,663, filed May 21, 2004, which is incorporated herein byreference in its entirety.

BACKGROUND INFORMATION

Many electronic devices provide display areas, e.g., computer monitorscreens, in which to display data. Often, because of the data's displayproperties, e.g., its font size, the data is too large to display all atonce within the display area. For example, when the data represents afigure, the figure's vertical height or the figure's horizontal widthmay be, respectively, higher or wider than the vertical height orhorizontal width of the display area; or when the data represents text,the number of lines of text may exceed a number of lines that fitswithin the vertical height of the display area, or the length of eachtext line may exceed a text length that fits within the horizontal widthof the display area.

In these instances, to navigate throughout displayable data, aninterface, e.g., a graphical user interface (GUI), often providesscroll-bars or toggle-buttons. Scroll-bars are each displayed as asingle bar with a predefined length that can be shifted within apredefined space. Often, the predefined space spans across the area inwhich the data is to be displayed. They may be vertically displayed whenthe data's vertical height exceeds that of the display area's verticalheight, and horizontally displayed when the data's horizontal widthexceeds that of the display area's horizontal width. Toggle-buttons areeach displayed as a set of two buttons, one placed at a first extremityand another placed at second extremity opposite the first extremity. Auser may shift a scroll-bar or depress a toggle-button and therebyindicate a direction in which the data should scroll.

Data applications, especially business data applications, often arrangeinterrelated data in tables. A table is arranged according to, andillustrates, the structural interrelationship of its data. For example,a table may have columns and rows. Each column may, for example,represent a major category of data. Each row may, for example, representa sub-category of the major categories. The rows and columns mayintersect to form multiple cells. Display of data in a particular cellof the table may indicate that the data relates to the major category ofthe data's cell's column, and to the sub-category of the of the data'scell's row.

When the sum of all columns' widths exceeds the display area's width orwhen the sum of all the rows' heights exceeds the display area's height,the data applications provide, respectively, a horizontal scroll-bar ortoggle-button to horizontally scroll and/or toggle between the first andlast columns, and a vertical scroll-bar or toggle button to verticallyscroll and/or toggle between the first and the last rows. For example, ascroll-bar 1 is provided in FIG. 1 a. In response to a shift ofscroll-bar 1, the entire table, i.e. all columns of the tablecollectively, may shift. For example, when scroll-bar 1 is shifted tothe right, a previously non-displayed column to the right of the columnlabeled “Document Size” may be displayed; and the previously displayedcolumn labeled “Document ID” may be removed from the display area.

Data, e.g., text, within a row of a particular column may be wider thanthe particular column, although not necessarily wider than the entiredisplay area. In this instance, not all of the row's text can be viewedat once. For example, in FIG. 1 a, the text within each of the cells ofthe column labeled “Time Stamp” is wider than the column, so that theyear is only partially displayed. However, current data applications donot provide for scrolling and/or toggling data within a particularcolumn and/or row, via control of a scroll-bar and/or toggle-buttons.For example, even when scroll-bar 1 is shifted to the right, the textwithin the “Time Stamp” column will not scroll in relation to the columnto reveal the entire year of the cell. Currently, to view all of acell's text, a user can widen the cell's column; select the text andhave a portion of the text superimposed over adjacent columns; or selectthe text and use an arrow key on a keyboard to move a cursor through andthereby scroll through the data. The first alternative wastes much ofthe display area. When a column is widened, the column occupies more ofthe display area, thereby allowing a fewer number of columns to beconcurrently displayed. Furthermore, a column may contain numerous rowswith data that is not wider than the column's width. For these rows,widening the column width, and thereby using more of the display area iswasteful. The second alternative causes rows of adjacent column tooverlap. Furthermore, the second and third alternatives are not asconvenient and as easy as scrolling with a scroll-bar or toggle-button.These same alternatives apply when the height of data within the columnsof a particular row exceeds the height of the data's particular row.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 a is an illustration of an example prior art scroll-bar for atable.

FIG. 1 b is an illustration of example scroll-bars andtoggle-button-sets associated with individual columns and/or cells,according to an example embodiment of the present invention.

FIG. 2 is an illustration of an example combination of a scroll-bar anda toggle-button-set associated with an individual column, according toan example embodiment of the present invention.

FIG. 3 is a flowchart that illustrates an example procedure in which ascroll-bar and/or a toggle-button-set is generated, according to anexample embodiment of the present invention.

FIG. 4 is a block diagram that illustrates the components of an examplecomputer system, according to an example embodiment of the presentinvention.

FIG. 5 is a flowchart that illustrates an example procedure in which ascroll-bar and/or toggle-button may be controlled, according to anexample embodiment of the present invention.

DETAILED DESCRIPTION

Current data applications do not provide scroll-bars and/or togglebuttons that are associated with individual columns and/or rows of atable of interrelated data. Accordingly, there is a need in the art forscroll-bars, toggle-buttons, or a combination of the two, for individualcolumns and/or rows in a data application.

Embodiments of the present invention generally relate to scroll-bars andtoggle-buttons. More particularly, embodiments relate to scroll-bars andtoggle-buttons for individual columns and/or rows of a table in a dataapplication environment.

According to an embodiment of the present invention, a display, e.g., acomputer screen, may display data within a display area, e.g., a window,in a table-like form that has a number of columns and a number of rows.The columns and rows may intersect. Each row may span all of thecolumns. Each column may span all of the rows. Consequently, the rowsand columns may form numerous intersections. Each intersection mayrepresent a relationship of a particular column with a particular row.These intersections, or data cells, may contain data that pertains tothe particular column/row intersection.

The first cell of each column (i.e., the intersection of the first rowwith each of the columns) may contain a header. The header maycategorically describe the type of data contained within the cells ofthe described column. Each column's width may be automatically set todisplay the complete column header. Alternatively, users may choose anydesired column width. Similarly, the first cell of each row (i.e., theintersection of the first column with each of the rows) may contain aheader. The row height may be automatically set to display the completerow header. Alternatively, users may choose any desired row height.

Each cell's width may be set according to the width of its column andits height may be set according to the height of its row. One or manycells may contain an amount of data too large to display at once withinthe cell, thereby requiring a user to scroll through the cell's data(i.e., horizontally and/or vertically).

In an embodiment of the present invention, a column-data control is acontrol device which controls the horizontal scrolling and/or togglingof data within a particular column (or a particular cell of a column). Arow-data control is a control which controls the vertical scrollingand/or toggling of data within a particular row (or a particular cell ofa row). A horizontal table-data control may be a control which controlsthe horizontal scrolling and/or toggling of a table, e.g., of multiplecolumns within a table. A vertical table-data control may be a controlwhich controls the vertical scrolling and/or toggling of a table, e.g.,of multiple rows within a table.

In an embodiment of the present invention, the column-data control maybe a horizontal scroll-bar. Alternatively, the column-data control maybe a horizontal toggle-button-set. Alternatively, the column-datacontrol may be a combination of a horizontal scroll-bar andtoggle-button-set.

In an embodiment of the present invention, the row-data control may be avertical scroll-bar. Alternatively, the row-data control may be avertical toggle-button-set. Alternatively, the row-data control may be acombination of a vertical scroll-bar and toggle-button-set.

In an embodiment of the present invention, the horizontal table-datacontrol may be a horizontal scroll-bar. Alternatively, the horizontaltable-data control may be a horizontal toggle-button-set. Alternatively,the horizontal table-data control may be a combination of a horizontalscroll-bar and toggle-button-set.

In an embodiment of the present invention, the vertical table-datacontrol may be a vertical scroll-bar. Alternatively, the verticaltable-data control may be a vertical toggle-button-set. Alternatively,the vertical table-data control may be a combination of a verticalscroll-bar and toggle-button-set.

Although many of the embodiments discussed below are discussed withrespect to horizontal scrolling and toggling of data, those skilled inthe art can appreciate that the discussed embodiments equally pertain tovertical scrolling and toggling of data.

To horizontally scroll through a cell's data, embodiments of the presentinvention may provide for a scroll-bar assigned to an individual column.FIG. 1 b illustrates an example display area that includes a table withmultiple columns and rows that intersect to form a plurality of cells.Scroll-bar 100 a may be assigned to an individual column. Scroll-bar 100a may be provided in addition to horizontal table-data control 105 usedfor scrolling between a first end and a last end of the table. Forexample, table-data control 105 may span across approximately the entiredisplay area between the right-most and left-most columns, andscroll-bar 100 a may span across the column to which scroll-bar 100 a isassigned.

Users may shift scroll-bar 100 a, e.g., between the column's right andleft extremity. When scroll-bar 100 a is moved in one direction, thedata, e.g., text, in a cell of the column to which scroll-bar 100 a isassigned may proportionately scroll in an opposite direction, therebydisplaying text positioned in the direction in which scroll-bar 100 a isshifted. For example, when scroll-bar 100 a is shifted towards the leftextremity, the text may stream to the right, thereby displaying textpositioned towards the left of the cell.

In an embodiment of the present invention, each column may be assignedonly one scroll-bar. According to this embodiment, in response to ahorizontal shift of the assigned scroll-bar 100 a, the data, e.g., text,contained within all cells of the column may simultaneously stream. Inone embodiment, only data too wide to view all at once within its cell,may stream. In another embodiment only data within a cell that isselected may stream. In another embodiment, when no particular cell isselected, data too wide to view all at once, within all cells of thecolumn may simultaneously stream; and when a particular cell isselected, data of only the selected cell may stream, e.g., if the datais too wide to view at once within the cell.

In an alternative embodiment of the present invention, each column maybe assigned numerous scroll-bars 100 b, so that each cell, e.g., thatcontains text that cannot be viewed all at once, may be assigned its ownscroll-bar. According to this embodiment, each scroll-bar may bedisplayed within the particular cell to which it is assigned.

In an alternative embodiment of the present invention, data of thecolumn's header cell, may be controlled by a column-header-data control110. (Similarly, data of a row's header cell may be controlled by arow-header-data control.) According to this embodiment, each column maybe assigned two column-scroll-bars, one to control data of generalcells, e.g., scroll-bar 100 a, and another to control data of the headercell. According to this embodiment, when the former scroll-bar isshifted, one or more general cells' data may responsively scroll,without causing the header data to scroll; and when the latterscroll-bar is shifted, the header data may responsively scroll, withoutcausing the general cells' data to scroll. The scroll-bar assigned tothe header cell may be displayed within the header cell; and thescroll-bars assigned to the general cells may be displayed within thegeneral cells or at the top or bottom of the column.

The length of the column's scroll-bar may be fixed, independent of theamount of data to be scrolled. Alternatively, since shortening thescroll-bar provides the scroll-bar with a larger area in which to beshifted, and since wider data requires more scrolling than narrowerdata, the scroll-bar length may automatically vary so that it isinversely proportionate to the width of the data that is to be scrolled.Thus, the wider the data to be scrolled, the shorter the scroll-bar.

According to the latter embodiment, when more than one cell of a columncontains data that is wider than the cells' column, a number of possiblelengths may be alternatively assigned to the scroll-bar. For example,one cell's data may be twice as wide as a second cell's data. Ascroll-bar inversely proportionate to the shorter data would be twice aslong as a scroll-bar inversely proportionate to the longer data.

The scroll-bar may be provided with a length inversely proportionate tothe widest data within the column. Alternatively, when the height of thedisplay area is insufficient to concurrently display all of the rows,the column's scroll-bar may be provided with a length inverselyproportionate to the widest data of the portion of the cells that isdisplayed within the display area. According to the latter embodiment,as a user vertically scrolls between the first and last rows of thecolumn, the length of the column's scroll-bar may change. According toeither alternative, in an embodiment of the present invention, when aparticular cell is selected, the scroll-bar may be provided with alength inversely proportionate to the selected cell's data. In anembodiment where a column's scroll-bar is assigned to each cell thatcontains too large an amount of data, each of the column's scroll-barsmay be assigned a length inversely proportionate to its assigned cell'sdata.

According to an embodiment of the present invention, one or more cellsof the column may contain data that is wider than the column. Othercells of the column may contain data that is not wider than the column.When the height of the display area is insufficient to concurrentlydisplay all of the rows of a column, a user may vertically scrollbetween the first and last rows of the column. In some views, the cellswith the large data may be displayed within the display area. In otherviews, the cells with the large data may not be displayed.

When the cells containing the data that is wider than the column aredisplayed within the display area, the column-data control may bedisplayed. When the cells containing the data that is wider than thecolumn are not displayed within the display area, the column-datacontrol may not be displayed.

In an alternative embodiment of the present invention, even if none ofthe cells that have the data that is wider than the column are displayedwithin the display area, the column-data control may be displayed.

When data of multiple cells simultaneously scroll in response to a shiftof a column's scroll-bar, e.g., when a single scroll-bar is assigned toa column that contains multiple cells with data that is too wide to viewat once, the pace at which one cell's data scrolls may differ from thatof another cell. For example, one cell's data may be twice as wide as asecond cell's data. The pace at which the second cell's data scrolls maybe twice as slow as that of the first cell's data.

To horizontally scroll through a cell's data, embodiments of the presentinvention may provide for a toggle-button-set, e.g., made up of twotoggle-buttons, assigned to an individual column. Toggle-button-set 120a may be assigned to an individual column. Toggle-button-set 120 a maybe provided in addition to horizontal table-data control 105 used forscrolling between a first end and a last end of the table.

Toggle-button-set 100 a may be horizontally displayed, one toggle-buttonon the right and one toggle-button on the left. When a toggle-button isdepressed, the data, e.g., text, in a cell contained in a column towhich toggle-button-set 100 a is assigned may proportionately scroll ina direction opposite to the depressed toggle-button. For example, whenthe left toggle-button is depressed, the text may scroll to the right,thereby displaying text positioned towards the left of the cell. Thetext may scroll a predefined amount for each toggle-button depression.With multiple toggle-button depressions, a user may scroll to an end ofthe text within a cell. Alternatively, the text may scroll in proportionwith the amount of time in which the toggle-button is depressed, thelonger the toggle-button is depressed, the more the text scrolls.

In an alternative embodiment, the text may toggle, rather than scroll,between a left end of the text and a right end of the text depending onwhich toggle-button is depressed. According to this embodiment, thereare only two possible views for each cell that contains an amount ofdata too large to view all at once. Either a right end or a left end ofthe text may be viewed.

In an embodiment of the present invention, each column may be assignedonly one toggle-button-set. In response to a depression of atoggle-button, the text contained within all cells of the column maysimultaneously scroll or toggle. In one embodiment, only text, the widthof which is too large to view all at once within its cell, may scroll ortoggle. In another embodiment only text within a cell that is selectedmay scroll or toggle. In another embodiment, when no particular cell isselected, text, too wide to view all at once, within all cells maysimultaneously scroll or toggle; and when a particular cell is selected,text of only the selected cell may scroll or toggle.

When text of multiple cells in a column simultaneously scroll inresponse to a toggle-button depression, e.g., a depression of atoggle-button of toggle-button-set 100 a, the pace at which one cell'sdata scrolls may differ from that of another cell. For example, onecell's data may be twice as wide as a second cell's data. The pace atwhich the second cell's data scrolls may be twice as slow as that of thefirst cell's data. Alternatively, the two cell's data may scroll at thesame pace. When an end of the second cell's data is displayed, thesecond cell's data may cease scrolling, while the first cell's data maycontinue to scroll.

In an alternative embodiment of the present invention, each column maybe assigned numerous toggle-button-sets 120 b. According to thisembodiment, each cell, e.g., that contains text that cannot be viewedall at once, may be assigned its own toggle-button-set.

In an alternative embodiment of the present invention, each column maybe assigned two toggle-button-sets, one to control data of generalcells, e.g., toggle-button-set 120 a, and another to control data withinthe header. According to this embodiment, when the formertoggle-button-set is controlled, data of one or more general cells mayresponsively scroll or toggle, without causing the header data to scrollor toggle; and when the latter toggle-button-set is controlled, theheader data may responsively scroll or toggle, without causing the dataof the general data cells to scroll or toggle.

The toggle-button-set may be horizontally displayed as twotoggle-buttons immediately adjacent to each other, e.g., like thetoggle-buttons of toggle-button-set 120 a. Alternatively, they may bedisplayed as two toggle-buttons at opposite ends with a space betweenthem. When a toggle-button is depressed, it may be displayed differentlythan the non-depressed toggle-button. The different ways in which thetoggle-buttons are displayed may indicate which toggle-button isdepressed. For example, one toggle-button may be displayed with aconcave appearance; and the other toggle-button may be displayed with aconvex appearance. Alternatively, an arrow may be displayed within thedepressed toggle-button; and no arrow may be displayed in thenon-depressed toggle-button. For example, the display of an arrow at theleft end of the left toggle-button of toggle-button-set 120 a mayindicate that the left toggle-button is depressed. The arrow may pointin the direction of the toggle-button in which it is displayed. Forexample, if the arrow is displayed within the left toggle-button, thenthe arrow may point to the left. Alternatively, the depressed andnon-depressed toggle-buttons may be displayed with varying colors. In afurther alternative embodiment, a combination of any of the above may beused. Any way in which to vary the appearance between the selected andthe non-selected toggle-button may be used.

In an embodiment of the present invention, when multiple columns eachrequire a column-data control, they may each be assigned a scroll-bar, atoggle-button-set, or a combination of the two. The type of column-datacontrol assigned to one column may differ from that assigned to a secondcolumn. For example, scroll-bar 100 a may be provided for one column,and toggle-button-set 120 a may be provided for a second column.

A column's scroll-bar and/or toggle-button-set may be displayed at thetop or the bottom of the column, or both. When displayed within aparticular cell, it may be displayed at the top or the bottom of thecell. When multiple columns are each provided a scroll-bar and/ortoggle-button-set, the scroll-bars and toggle-button-sets may bedisplayed in one position for one column and in a second position for asecond column.

According to the embodiment where the column-data control is displayedat the bottom of the column, if a horizontal table-data control is alsodisplayed, the table-data control may be displayed at the lowest part orapproximately the lowest part of the display area, and the column-datacontrol may displayed immediately above a portion of the table-datacontrol. Similarly, if displayed at the top of the column, thetable-data control may be displayed at the top most part orapproximately the top most part of the display area and the column-datacontrol may be displayed immediately below the table-data control. In analternative embodiment, the display-data control may be displayed at thebottom of the display area, and the column-data control may be displayedat the top of the display area, or vice versa.

According to the embodiment where the data toggles between a right andleft end in response to the depression of the right and lefttoggle-buttons, respectively, when a cell's data is more than twice aswide as its column, not all of the text is viewable by toggling betweenthe right and left ends of the text. Consequently, a toggle-button-setmay be provided when a cell's text is not more than twice as wide as itscolumn, and a scroll-bar may be provided when a cell's text is more thantwice as wide as its column.

In an embodiment where a column-data control may be provided for eachcell that contains data that is wider than the column, a scroll-bar maybe provided for one cell that contains data that is more than double thewidth of the column; and a toggle-button-set may be provided for anothercell that contains data that is not more than double the width of thecolumn. In an embodiment where only one scroll-bar or toggle-button-setmay be provided per column, if the text of a cell that contains thelargest amount of text in its column is more than twice as wide as itscolumn, a scroll-bar may be provided for the entire column; if thecolumn contains no such cell, then a toggle-button-set may be providedfor the entire column. Alternatively, when the height of the displayarea is insufficient to concurrently display all of the rows of thecolumn, if data of a cell that appears within the display area is morethan twice as wide as the column, then a scroll-bar may be provided forthe column; otherwise a toggle-button-set may be provided for thecolumn.

In an alternative embodiment, a user may choose whether to display ascroll-bar or a toggle-button-set. The user may choose to display ascroll-bar for one column and a toggle-button-set for a second column.The user may choose to display a scroll-bar or a toggle-button-set on acell by cell basis.

In an embodiment of the present invention, a scroll-bar andtoggle-button-set may be combined, e.g., by default and/or by userchoice. For example, as illustrated in FIG. 2, toggle-button-set 200 maybe displayed as two toggle-buttons at opposite ends of a column, with aspace between the two toggle-buttons. Scroll-bar 205 may be providedbetween the two toggle-buttons. According to this embodiment, wheneither of the scroll-bar or the toggle-button-set is, respectively,shifted or depressed, the other correspondingly reacts. For example, ifthe left-toggle-button is depressed, scroll-bar 205 correspondinglyshifts to the left; if scroll-bar 205 is shifted to the right, the righttoggle-button may be displayed so as to indicate its depression.

In an embodiment of the present invention, all of a table's scroll-barsand toggle-button-sets, including each column-data control and anytable-data control, may be concurrently displayed. Alternatively, when aparticular column is selected, only the selected column's column-datacontrol and any table-data control may be concurrently displayed.Alternatively, in an embodiment where each cell may be provided with itsown scroll-bar or toggle-button-set, when a particular cell is selected,only the selected cell's scroll-bar or toggle-button-set and anytable-data control may be concurrently displayed.

In an embodiment of the present invention, a particular column and/orcell may be selected via a click of a mouse when a cursor and/or a mousepointer is moved to within a vicinity of the column and/or cell.Alternatively, the column and/or cell may be selected via the movementof a cursor and/or mouse pointer to within a vicinity of the columnand/or cell, even without a mouse click.

According to an embodiment of the present invention, when a cellcontains data that is wider than the cell's column and taller than thecell's row, a column-data control for the cell's column and a row-datacontrol for the cell's row may be concurrently displayed. In accordancewith the previously described embodiments, the column-data control andthe row-data control may be each displayed within the cell. For example,the row-data control may be displayed to span from the top of the celltowards the bottom of the cell, at the right side of the cell. Thecolumn-data control may be displayed to span from the left side of thecell towards the right side of the cell, at the bottom of the cell.Alternatively, one or both of the row-data control and the column-datacontrol may be displayed outside the cell, e.g., at the right side ofthe row and at the bottom of the column, respectively.

According to an embodiment of the present invention, a data-controlgenerator may be provided for generating a column-data control and/or arow-data control. FIG. 3 illustrates an example procedure in which acolumn-data control and/or a row-data control is generated. The heightand width of each cell's data may be compared to that of the cell'scolumn and row. Whether the data is wider than the cell's column and/ortaller than the cell's row may be determined in 305. If the data is notwider and/or taller, then no scroll-bar and/or toggle-button-set isgenerated. If the data is wider and/or taller, then a data-control maybe generated.

According to an embodiment of the present invention a user interface maybe provided to receive a user input. A user may input, via theinterface, a preference for the type of data-control to be generated,e.g., a scroll-bar, a toggle-button-set, or a combination of the two.The user may also input, via the interface, a preference for thelocation of the data-controls. Whether the user has entered a preferencemay be determined in 310. If the user entered a preference, then, in315, a column-data control and/or row-data control may be generated inaccordance with the user preference. If a user preference has not beenentered, then whether the data is wider than the column and/or tallerthan the row by more than double may be determined in 320. If the datais more than double as wide and/or as tall, respectively, then ascroll-bar may be generated in 325. If the data is not more than as wideand/or as tall, respectively, then a toggle-button-set may be generatedin 330.

FIG. 4 is a block diagram that illustrates the components of an examplecomputer system, according to an example embodiment of the presentinvention. Keyboard 400 and/or mouse 405 may be provided for a userinput. Sensor 410 may be provided to detect the user input and to detectthe position of a pointer and/or cursor displayed in computer display415. Event handler 420 may be provided to receive the detection from thesensor. Based on the detection, the event handler may shift a scroll-barand/or a toggle-button-set displayed in computer display 415 and maycause data displayed in computer display 415 to stream and/or toggle.

FIG. 5 is a flowchart that illustrates an example procedure in which ascroll-bar and/or toggle-button may be controlled, according to anexample embodiment of the present invention. A user may shift ascroll-bar and/or depress a toggle-button by moving a cursor, e.g., viaa movement of a mouse and a click of a mouse. In 500, a sensor, forexample, may detect a movement and/or a click of the mouse. In 505,based on this detection, a pointer may be moved by a pointer controllerabout a display area of a computer display. In 510, the sensor may alsodetect the position of the pointer with respect to the display area. In515, based on the detection, the sensor may determine that the pointeris in an area of the scroll-bar and/or toggle-button.

In 520, an event handler may receive from the sensor the sensor'sdetections and determinations. In 525 a, based on the receiveddetections and determinations, the event handler may execute a routinefor shifting the display of a scroll-bar and/or for displaying atoggle-button in a way to indicate its depression. Concurrently, in 525b, based on the received detections and determinations, the eventhandler may also cause data within a cell to stream or toggle in anymanner previously discussed.

According to an embodiment of the present invention, the sensor mayalternatively, or additionally detect a depression of an arrow key on akeyboard. The event handler may shift the scroll-bar and/or indicate adepression of a toggle-button and scroll through the data if the sensorrelays an indication of a depression of a keyboard arrow key when amouse pointer is in the area of the scroll-bar and the scroll-bar isselected.

In an embodiment of the present invention, the event handler mayalternatively or additionally shift the scroll-bar and/or indicate adepression of a toggle-button when a cursor is moved within a cell fromleft to right or top to bottom of the data. According to thisembodiment, instead of scrolling or toggling data in response to a shiftof a scroll-bar and/or a depression of a toggle-button, the reversetakes place, i.e., the scroll-bar shifts and/or a toggle-button isdepressed in response to a scrolling of the data.

Those skilled in the art can appreciate from the foregoing descriptionthat the present invention can be implemented in a variety of forms.Therefore, while the embodiments of this invention have been describedin connection with particular examples thereof, the true scope of theembodiments of the invention should not be so limited since othermodifications will become apparent to the skilled practitioner upon astudy of the drawings, specification, and following claims.

1-24. (canceled)
 25. A computer system for controlling a display of data, comprising: a computer processor configured to display a graphical user interface display that includes: a table; and a control device, the control device being displayed if and only if a particular one of a plurality of displayed cells of the table, the control device selectively associated with only the particular cell, contains data, display settings of the data requiring for a display of the data a display-area larger than a display-area allotted to the particular cell; wherein: the control device is at least one of a scroll-bar and a toggle-button-set; the data includes a text string; the control device is manipulable for controlling navigation of the data directly responsive to the manipulation of the control device; and the navigation control includes shifting a position of the text string so that a display position of at least a portion of the text string is shifted from a first displayed position of the particular cell to a second displayed position of the particular cell.
 26. The computer system of claim 25, wherein the control device is displayed in the particular cell in response to selection of the particular cell.
 27. The computer system of claim 26, wherein the selection of the particular cell is performed by placement of a mouse pointer within a vicinity of the cell, without a mouse click.
 28. The computer system of claim 25, wherein: the toggle-button-set includes a left toggle button and a right toggle button that are alternatively selectable, a left end of the data displayed whenever the left toggle button is selected and a right end of the data displayed whenever the right toggle button is selected; the toggle-button-set is displayed only upon satisfaction of a first condition that a width of the display-area is not more than double the particular cell's width, and the scroll-bar is displayed only upon satisfaction of a second condition, in which, with respect to a relationship to the width of the display-area, the particular cell is smaller than where the first condition is satisfied, such that the width of the display-area is more than double the particular cell's width.
 29. The computer system of claim 25, wherein: the toggle-button-set includes a first toggle button and a second toggle button that are alternatively selectable, a first end of the data displayed whenever the first toggle button is selected and a second, opposite, end of the data displayed whenever the second toggle button is selected; the toggle-button-set is displayed only upon satisfaction of a first condition that a size of the display-area in a particular direction is not more than double a size of the particular cell in the particular direction; and the scroll-bar is displayed only upon satisfaction of a second condition, in which, with respect to a relationship to the size of the display-area, the particular cell is smaller than where the first condition is satisfied, such that the size of the display-area in the particular direction is more than double the particular cell's size in the particular direction.
 30. The computer system of claim 25, wherein: the control device includes both the scroll-bar and the toggle-button-set; the toggle-button-set includes a right toggle button and a left toggle button; the data within the particular cell is gradually shifted by the processor in response to direct user-manipulation of the scroll-bar; in response to user-selection of the right toggle button, the data within the particular cell is sharply shifted to a right end of the data and the scroll-bar is automatically shifted to a right-most scroll bar position; and in response to user-selection of the left toggle button, the data within the particular cell is sharply shifted to a left end of the data and the scroll-bar is automatically shifted to a left-most scroll bar position.
 31. A computer system for controlling a display of data, comprising: a computer processor configured to display: a table that includes a plurality of rows and columns that intersect to form a plurality of cells; and responsive to selection of a particular one of the cells of the table, a control device selectively associated with only the particular cell; wherein the control device is manipulable for shifting a position of a text string within the particular cell directly responsive to the manipulation of the control device, the shifting of the text string being such that a display position of at least a portion of the text string is shifted from a first displayed position of the particular cell to a second displayed position of the particular cell.
 32. The computer system of claim 31, wherein the control device is displayed responsive to the selection of the particular cell conditional upon that a display area required for display of an entirety of the text string is larger than a display area of the particular cell.
 33. The computer system of claim 31, wherein the selection of the particular cell is performed by placement of a mouse pointer within a vicinity of the cell, without a mouse click.
 34. A computer system comprising: a computer processor configured to provide a graphical user interface (GUI) that displays data in a tabular format including a plurality of rows and a plurality of columns intersecting to form a plurality of cells, the GUI further including a scroll control for scrolling data within at least one of the cells, wherein the processor is configured to remove the scroll control and re-display the scroll control responsive to a vertical scrolling of the tabular formatted data.
 35. The computer system of claim 34, wherein: the scroll control is a horizontal scroll control; the scroll control is selectively associated with only a single respective one of the plurality of columns and is displayed conditional upon that display settings of data associated with the respective column requires for a display of the data associated with the respective column an area that is wider than the single respective column; the data associated with the respective column includes a text string; the scroll control is manipulable for controlling navigation of the data associated with the respective column directly responsive to the manipulation of the scroll control; and the navigation control includes shifting a display position of at least a portion of the text string from a first displayed position of the respective column to a second displayed position of the respective column.
 36. The computer system of claim 35, wherein the processor shifts data in each of a plurality of cells of the respective column at a same pace in response to the manipulation of the respective horizontal scroll control, data of different ones of the plurality of cells being of different lengths.
 37. The computer system of claim 35, wherein: the horizontal scroll control includes a scroll bar; and the processor is configured to repeatedly modify a length of the scroll bar in response to a vertical scrolling of the tabular formatted data.
 38. The computer system of claim 35, wherein: the horizontal scroll control is displayed at an outer edge of the respective column; and data of only a subset of displayed ones of the cells of the respective column is shifted in response to the manipulation of the horizontal scroll control based on a user-selection of the subset, data of different subsets of the displayed cells of the same respective column being controlled by the horizontal scroll control for different subset selections.
 39. The computer system of claim 38, wherein the subset includes only one cell and the selection of the subset is performed by placement of a mouse pointer within a vicinity of the one cell, without a mouse click.
 40. The computer system of claim 35, wherein: the respective column includes a plurality of cells formed by an intersection of the respective column with the plurality of rows; the respective row of each of the plurality of cells includes a respective plurality of cells formed by an intersection of the respective row with the plurality of displayed columns, such that all cells of the respective row share a same top and bottom position due to their belonging to the same respective row; and the horizontal scroll control is displayed entirely within the respective column.
 41. The computer system of claim 35, wherein: the horizontal scroll control is one of a horizontal scroll-bar and a horizontal toggle-button-set; the horizontal toggle-button-set includes a left toggle button and a right toggle button that are alternatively selectable, a left end of the data associated with the respective column displayed whenever the left toggle button is selected and a right end of the data associated with the respective column displayed whenever the right toggle button is selected; and the horizontal toggle-button-set is displayed only upon satisfaction of a first condition that the width of the area, with respect to at least one of the displayed cells of the respective column, is not more than double the respective column's width, and the horizontal scroll-bar is displayed only upon satisfaction of a second condition, in which, with respect to a relationship to the width of the area with respect to the at least one of the displayed cells, the respective column is smaller than where the first condition is satisfied, such that the width of the area, with respect to the at least one of the displayed cells, is more than double the respective column's width.
 42. The computer system of claim 35, wherein: the horizontal scroll control includes both a horizontal scroll-bar and a horizontal toggle-button-set; the horizontal toggle-button-set includes a right toggle button and a left toggle button; the data within the respective column is gradually shifted by the processor in response to direct user-manipulation of the horizontal scroll-bar; in response to user-selection of the right toggle button, the data within the respective column is sharply shifted to a right end of the data and the horizontal scroll-bar is automatically shifted to a right-most scroll bar position; and in response to user-selection of the left toggle button, the data within the respective column is sharply shifted to a left end of the data and the horizontal scroll-bar is automatically shifted to a left-most scroll bar position.
 43. The computer system of claim 34, wherein the scroll control is selectively associated with only one of the columns.
 44. The computer system of claim 34, wherein the scroll control is displayed conditional upon that data within at least one of the displayed cells requires a respective display area larger than a display area of the respective cell.
 45. The computer system of claim 34, wherein the data includes a text string, and the scroll control is manipulable for, in direct response to the manipulation, shifting a display position of at least a portion of the text string from a first displayed position to a second displayed position.
 46. The computer system of claim 34, wherein the scroll control includes a scroll bar, and the processor is configured to repeatedly modify a length of the scroll bar in response to the vertical scrolling of the tabular formatted data. 